$(function () {
    $.util.namespace("$.dictUtil");
    /**
     * 根据字典分组key值查询字典列表
     * options可传递combobox的相关属性
     * 以下是新增属性：
     * options.target   元素目标
     * options.groupKey 字典分组key
     * options.emptyOption  是否显示空选项
     * options.emptyText    显示空选项的文本内容，默认为：全部
     */
    $.dictUtil.findByGroupKey = function (options) {
        var comboOption = $.fn.combobox.defaults;
        $.extend(comboOption, {target: '', groupKey: '', emptyOption: false, emptyText: '全部'});
        var url = $.util.getRequestJson('/rsframe/commons/json/dict.findByGroupKey.json');
        $.util.get(url, {groupKey: options.groupKey}, function (json) {
            if (json.success) {
                if (options.emptyOption && json.rows) {
                    json.rows.unshift({
                        id: '',
                        dictText: options.emptyText ? options.emptyText : comboOption.emptyText
                    });
                }
                var defaults = {
                    valueField: 'id',
                    textField: 'dictText',
                    method: 'get',
                    editable: false,
                    data: json.rows,
                    onLoadSuccess: function () {
                        if (options.emptyOption) {
                            $(options.target).combobox('setValue', '');
                            $(options.target).combobox('setText', comboOption.emptyText);
                        }
                    }
                };
                $.extend(comboOption, defaults);
                $.extend(comboOption, options);
                $(comboOption.target).combobox(comboOption);
            }
        });
    }
});